package com.szkiti.myautils.utils;
import java.io.IOException;
import java.io.InputStream;
import org.apache.http.util.EncodingUtils;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;

public class RawUtils {
	/**
	 * 从Assets中读取图片
	 * 范例： Bitmap bmp = getImageFromAssetsFile(this, R.raw.test);
	 */
	public static Bitmap getImageFromRaw(Context context, int rawId) {
		Bitmap image = null;
		try {
			InputStream is = context.getResources().openRawResource(1);
			image = BitmapFactory.decodeStream(is);  //这样可能会造成内存溢出，根据实际情况设置BitmapFactory.Options
			is.close();
		} catch (IOException e) {
			e.printStackTrace();
		} 
		return image;
	}
	
	/**
	 * 从resources中的raw 文件夹中获取文本数据
	 * @param context
	 * @param resID 如：R.raw.test
	 * @param encoding 如： "UTF-8", "GBK", "GB2312"
	 * @return  String
	 */
	public static String getFromRaw(Context context, int rawId, String encoding) {
		String result = "";
		try {
			InputStream in = context.getResources().openRawResource(rawId);
			// 获取文件的字节数
			int lenght = in.available();
			// 创建byte数组
			byte[] buffer = new byte[lenght];
			// 将文件中的数据读到byte数组中
			in.read(buffer);
			result = EncodingUtils.getString(buffer, encoding);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return result;
	}
}